package com.parsechina.hpush.broker.spi;

import com.parsechina.hpush.broker.internal.subscriptions.SubscriptionsStore;

/**
 * @author linfeng
 * @date 2019-07-20
 **/
public interface IPersistentStore {

    /**
     * 消息存储接口
     * @return
     */
    IMessagesStore messagesStore();

    /**
     * session存储接口
     * @return
     */
    ISessionsStore sessionsStore();


    /**
     * 客户端认证接口
     * @return
     */
    IAuthenticator authenticatorStore();


    /**
     * 订阅存储接口
     * @return
     */
    SubscriptionsStore subscriptionsStore();


    /**
     * 客户端存储
     * @return
     */
    IClientStore clientStore();


    /**
     * 关闭存储
     */
    void close();


}
